<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>Document</title>
	</head>
	<body>
		<script>
			// 1. 创建类 class 创建一个明星类
			class Star {
				constructor(uname, age) {
					this.uname = uname;
					this.age = age;
				}
				// 多个函数方法之间不需要添加逗号分隔
				// 类里面所有的函数不需要写 function
				sing(song) {
					console.log(this.uname + song);
				}
			}

			// 2. 利用类创建对象
			let xs = new Star('许嵩', 35);
			let vae = new Star('vae', 35);
			console.log(xs);
			console.log(vae);
			xs.sing('雨幕');
			vae.sing('乌鸦');

			// (1) 通过类 class 关键字创建类，类名我们还是习惯定义首字母大写
			// (2) 类里面有个 constructor 函数，可以接收传递过来的参数，同时返回实例对象
			// (3) constructor 函数，只要 new 生成实例时，就会自动调用这个函数，如果我们不写这个函数，类也会自动生成这个函数
			// (4) 生成实例 new 不能省
			// (5) 最后注意语法规范，创建类，类名后面不要加小括号，生成实例，类名后面加小括号，构造函数不需要加 function
		</script>
	</body>
</html>
